/**
 * @version 1.0
 * @created 03 December 2010
 *
 * InventoryService
 *
 * Copyright @ 2010 by CES
 * All Rights Reserved.
 * CES CONFIDENTIAL AND TRADE SECRET
 * 
 */
package com.ces.knacky.services;

import java.util.List;

import com.ces.knacky.framework.exception.DataAccessException;
import com.ces.knacky.framework.services.CommonService;
import com.ces.knacky.services.implementor.InventoryServiceImplementor.InventoryBean;


/**
 * InventoryService interacts with Remote Inventories to check the item availability 
 * through messaging.
 * 
 * @author anup_rohamare
 *
 */
public interface InventoryService extends CommonService {
	/**
	 * @param - order_id - the id of the selected order.
	 * @return - List of Inventory beans.
	 */
	public List<InventoryBean> checkAvailability(int order_id) throws DataAccessException;
	
	/**
	 * @param - order_id - the id of the selected order.
	 * @return - Return whether an order is valid depending upon the availability
	 * 			 of the items in that order. Returns false when one or more items in that 
	 * 			 order are out of stock or if no items exist in that order. 
	 */
	public boolean isOrderDelayed(int order_id) throws DataAccessException ;
}
